Spring Boot CRUD Create İşlemi (User Kaydetme – Service Katmanı ile)
Bu yazıda Spring Boot CRUD operasyonlarından Create yani veritabanına yeni kayıt ekleme işlemini ele alacağız.
Spring Boot uygulamalarında veri ekleme işlemi genellikle Controller → Service → Repository katmanları üzerinden yapılır. Bu yapı uygulamanın daha sürdürülebilir ve temiz mimari ile geliştirilmesini sağlar.
Spring Boot Projesi Oluşturma
İlk olarak Spring Initializr kullanarak projemizi oluşturuyoruz.
Projeyi oluştururken aşağıdaki bağımlılıkları ekleyebilirsiniz:
- Spring Web
- Spring Data JPA
- PostgreSQL veya H2 Database
- Lombok (opsiyonel)
Projeyi oluşturduktan sonra IntelliJ IDEA veya Eclipse ile açabilirsiniz.
1. User Entity Oluşturma
İlk olarak model veya entity paketi altında User sınıfımızı oluşturuyoruz.
Bu sınıf veritabanındaki kullanıcı tablosunu temsil eder.
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String email;
private String password;
}
Bu sınıfa ayrıca constructor, getter ve setter metodlarını da ekliyoruz.
2. Repository Katmanı Oluşturma
Entity oluşturduktan sonra repository paketi altında UserRepository interface’ini oluşturuyoruz.
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
Burada JpaRepository kullanmamızın nedeni CRUD işlemlerini otomatik olarak sağlayan hazır metodlardan yararlanabilmektir.
Örneğin:
- save()
- findAll()
- deleteById()
- findById()
3. Service Katmanı Oluşturma
Service katmanı uygulamanın iş mantığını yönetir.
Controller ile Repository arasında bir katman oluşturarak bağımlılıkları azaltmış oluruz.
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public User saveUser(UserRequest request){
User user = new User();
user.setUsername(request.getUsername());
user.setEmail(request.getEmail());
user.setPassword(request.getPassword());
return userRepository.save(user);
}
}
4. Request DTO Oluşturma
API üzerinden gelen verileri almak için bir Request DTO oluşturuyoruz.
public class UserRequest {
private String username;
private String email;
private String password;
}
Bu sınıf için de getter ve setter metodlarını eklemeyi unutmayın.
5. Controller Katmanı Oluşturma
Son olarak kullanıcı ekleme işlemini dış dünyaya açan Controller sınıfını oluşturuyoruz.
@RestController
@RequestMapping("/api")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/save")
public User saveUser(@RequestBody UserRequest request){
return userService.saveUser(request);
}
}
Postman ile API Testi
Artık oluşturduğumuz API endpoint’ini test edebiliriz.
Endpoint:
POST http://localhost:8090/api/save
Body kısmında JSON formatında veri gönderiyoruz:
{
"username":"testuser",
"email":"test@test.com",
"password":"123456"
}
İstek başarılı olursa kullanıcı veritabanına kaydedilir.
Sonuç
Bu yazıda Spring Boot CRUD Create işlemini adım adım gerçekleştirdik.
- User Entity oluşturduk
- Repository katmanı ekledik
- Service katmanında iş mantığını yazdık
- Controller üzerinden API endpoint oluşturduk
- Postman ile test ettik
Bir sonraki yazımızda Update ve Delete CRUD işlemlerini detaylı olarak ele alacağız.